E.A.G.L.E.


Auf Leiterplatten werden elektronische Komponenten mechanisch fixiert, also durch Löten befestigt und miteinander verbunden. Nahezu jedes elektronische Gerät enthält eine oder mehrere Leiterplatten. Mit EAGLE kann man diese Leiterplatten entwerfen. Der Name des Programms ist ein Initialwort und bedeutet so viel wie Einfach Anzuwendender Grafischer Layout-Editor. Dieser Name ist nicht unpassend, da die Steuerung intuitiv per Maus funktioniert und viele hilfreiche Tools und Funktionen den Betrieb der Software vereinfachen und beschleunigen. Die Software besteht aus drei Hauptkomponenten: Dem Schaltplan-Editor, dem Layout-Editor und dem Autorouter. Zusätzlich gibt es noch eine erweiterbare Bauteil-Datenbank.

Schaltplan-Editor

Im Schaltplan-Editor wird das Grundgerüst der Platine erstellt: Es werden die benötigten Bauteile (meistens aus der Bauteil-Datenbank stammend) gesetzt und miteinander verbunden, sodass diese die benötigten Funktionen ausführen können. Es wird also ein Schaltplan erstellt, der später dabei hilft, die Pins der Bauteile im Layout-Editor richtig miteinander zu verbinden. Darüber hinaus werden hier die Art und die Menge der verwendeten Bauteile bestimmt. Optisch ist dies als Schema dargestellt, in dem die Verbindungen grün und die Bauteile zumeist weiß mit schwarzer Umrandung dargestellt werden. Die blauen Leitungen sind sogenannte „Bus“ Verbindungen, also zusammengelegte Kabel mit gemeinsamer Streckenführung. Im Schaltplan dient dies der Übersichtlichkeit, im Layout hat dies jedoch keine Auswirkungen.

Layout-Editor

EAGLE ist, nach der Fertigung des Schaltplans, dazu fähig, diesen in den Layout-Editor zu übertragen. Hier sollte man zunächst die Größe der Platine festlegen indem man Dimension-Linien setzt, die die Form der Platine bestimmen. Hierfür kann man ein Design importieren, das man in einem anderen Programm wie OpenScad erstellt hat (nach der Konvertierung in das richtige Format) oder man zeichnet es direkt im Editor per Maus. Die im Schaltplan gewählten Bauteile befinden sich zu dem Zeitpunkt schon in dem Layout und so müssen diese nur noch korrekt auf der Platine platziert werden. Die Platzierung erfolgt einfacherweise auch per Maus und Befehlen wie Rotieren, Verschieben, Spiegeln und Drehen um einen Punkt (zum Beispiel die Mitte der Platine) machen dies ebenso einfach wie auch sehr präzise, da die Einheiten beliebig veränderbar sind. Wenn dies geschafft ist, müssen die Kabel verlegt werden. Die im Schaltplan gezogenen Verbindungen werden im Layout-Editor durch gelbe Linien ersetzt, die die zu verbindenden Pins der Bauteile kennzeichnen. Durch klicken auf diese Verbindungen wird diese angewählt und man kann schrittweise die Kabelführung bestimmen. Auch dies ist sehr variabel, denn man kann die Leitungen in allen möglichen Winkeln verlegen: Man kann die Platine in verschiedene Schichten unterteilen und zum Beispiel wie wir bei den BohleBots die obere für die Stromführende Leiterbahnen verwenden und die Unterseite als "Groundplate" verwenden, um alle Bauteile daran erden zu können und so Leitungen zu sparen. Dazu wird die gesamte Unterseite leitfähig gemacht und die zu erdenden Pins werden automatisch damit verbunden. Wenn man das Layout abgeschlossen hat bietet EAGLE noch den Design Rule Check (DRC). Dieser prüft, ob die in den globalen Einstellungen festgelegten Design-Regeln eingehalten wurden. Diese beziehen sich vor allem auf Überlappungen von Signalen, Unterschreitung von Mindestabständen, zu kleine Bohrdurchmesser und zu dünne Leiterbahnen. Dadurch wird gewährleistet, dass die Platine keine Fehler aufweist, die dem Layout geschuldet sind und möglicherweise die Haltbarkeit oder die Funktionalität der Platine einschränken. Diese globalen Design-Regeln sind zunächst voreingestellt, können allerdings manuell auf die jeweiligen Bedürfnisse angepasst werden.

Autorouter

Der Autorouter bildet eine Möglichkeit, die langwierige Designfindung drastisch zu beschleunigen. Wie der Name es schon sagt, ist der Autorouter ein Algorithmus, der die Leiterbahnen vollautomatisch und entsprechend der Designregeln verlegt. Dabei kann man bis zu 16 Signallagen mit einstellbaren Vorzugsrichtungen und theoretischen Kostenfaktoren in den Algorithmus mit einfließen lassen. Nachteile hierbei sind, dass es manchmal zu nicht optimal verlegten Leiterbahnen kommt oder der Autorouter (speziell bei komplexeren oder auch engen Platinen) für manche Verbindungen keine Möglichkeit findet und diese dann offenlässt. Aber dennoch kann man durch ihn enorm viel Zeit sparen. Beindruckend ist auch die Geschwindigkeit mit der der Autorouter die Verbindungen findet. Besonders nach dem Update auf Versionsnummer 7 von EAGLE, ist das Programm dazu fähig den Algorithmus multithreaded auszuführen, um die Vorteile mehrkerniger CPU’s zu nutzen. Dies beschleunigt den Ablauf drastisch und wird dazu genutzt einen komplexeren Algorithmus ausführen zu können, der in der gleichen Zeit ein besseres Design findet, d.h. weniger Übergangspunkte und weniger darauffolgende Optimierungsarbeit des Nutzers.

Verwendung bei den BohleBots

Die Software wird bei den BohleBots zur Erstellung der Platinen für die Roboter verwendet und ist somit essentiell für den Bau der Roboter. Jeder Roboter besitzt eine oder zwei Hauptplatinen in der Form des Bots, die mit den Hauptkomponenten bestückt werden und zusätzliche Platinen für die Adapter für die Motortreiber, die Taster, den Kompass oder die Stromzufuhr in den 2vs.2-Bots. Diese Platinen werden daraufhin von der Firma Wendling für uns gefertigt.

Platine für den Omnibot

Der Omnibot oder auch Tribot genannt benötigte wegen seinen drei Schaufeln eine andere Platine als die übrigen Bots. Also musste eine extra Platine hergestellt werden die diesen Ansprüchen genügt. Diese sollte vom Aufbau die Komponenten der Platinen des Vorjahres benutzen, jedoch sollten diese im Gegensatz dazu auf eine einzelne Platine angebracht werden. Also mussten die Schaltpläne aus dem Vorjahr zunächst in einen einzelnen kopiert werden und dann per I2C-Bus miteinander verbunden werden. Dazu mussten zwei Datenleitungen des einen Schaltplans mit den dazugehörigen des anderen Schaltplans verbunden werden und mit einem Widerstand mit Strom versorgt werden, um die Funktionalität des I2C-Busses zu ermöglichen. Da beide Schaltpläne allerdings einiges doppelt besaßen (Stromzufuhr, I2C-Bus) und einiges nicht benötigt wurde (Kicker, Taster) konnten diese Bauteile gelöscht werden und so konnte auf der Platine Platz gewonnen werden, der sonst durch die Zusammenlegung eng geworden wäre. Danach wurde der Schaltplan in den Layout-Editor übertragen. Das spezielle Design des Tribots wurde vorher in OpenScad als zweidimensionales Objekt erzeugt. Dieses wurde darauf, nach der Konvertierung in .dxf, in den Editor eingefügt und diente nun als „Dimension“ als Begrenzung für die Platine. Daraufhin wurden die Bauteile platziert. Besonders schwierig bzw. aufwändig hierbei gestalteten sich die Löcher für die späteren Befestigungen und die genaue Ausrichtung der Infrarot-Sensoren. Beides musste sehr genau ausgerichtet werden, denn insbesondere die Löcher mussten exakt an den dafür vorgesehenen Stellen gesetzt werden, damit sich der Roboter nachher zusammenbauen ließ. Um Zeit zu sparen verwendeten wir danach den Autorouter um (zumindest einen großen Teil) des Layouts zu erstellen. Zusätzlich definierten wir die Unterseite der Platine als Groundplate/Erdung (wie oben beschrieben). Zum Schluss kam noch der DRC zum Einsatz, um mögliche Fehler zu eliminieren.

Aufgetretene Fehler

Allerdings kam es, so wie meistens bei der ersten Platine, zu einigen Fehlern. Zum einen musste nachträglich noch ein Spannungswandler angebracht werden um die Teensys mit Strom zu versorgen und zum anderen fehlte die Verbindung zwischen den beiden Teensys und somit war die Kommunikation zwischen diesen nicht möglich. Der I2C-Bus, der dieser Verbindung entsprechen sollte, wurde, wie oben beschrieben, nachträglich in den Schaltplan eingefügt, um die beiden Schaltpläne zu verbinden. Dieser tauchte auch so im Layout-Editor auf, allerdings fehlte die Verbindung auf der fertigen Platine. Wie es dazu kam ist unklar. Deswegen musste diese Verbindung nachträglich ergänzt werden. Geschuldet war dies vermutlich zum Teil den oben genannten „Bus-Verbindungen“. Bei dem Zusammenlegen von zwei Schaltplänen kann es zu unterschiedlicher Benennung ein und desselben Stromkreises kommen, jedoch wird dies innerhalb der „Bus-Verbindungen“ schnell übersehen, da diese viele Leiter beinhalten. Somit kann es schnell dazu kommen, dass ein Leiter im Schaltplan-Editor optisch mit dem Bus verbunden ist, aber nicht mit dem richtigen Kabel und somit keine Verbindung besteht.

Tobias Hoffmann